home *** CD-ROM | disk | FTP | other *** search
/ PC User 2002 July / Disc 1 / PCU0702CD1.iso / software / sfeflash / flies / en-us / examine.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-05-17  |  6.9 KB  |  448 lines

  1. import java.applet.Applet;
  2. import java.awt.Event;
  3. import java.util.Enumeration;
  4. import x3d.Browser;
  5. import x3d.EventObserver;
  6. import x3d.Field;
  7. import x3d.Node;
  8.  
  9. public class examine extends Applet implements Runnable, EventObserver {
  10.    // $FF: renamed from: b0 float[]
  11.    private float[] field_0 = new float[3];
  12.    // $FF: renamed from: b1 x3d.Browser
  13.    private Browser field_1;
  14.    // $FF: renamed from: b2 float[]
  15.    private float[] field_2 = new float[12];
  16.    // $FF: renamed from: b3 float[]
  17.    private float[] field_3 = new float[12];
  18.    // $FF: renamed from: b4 int
  19.    private int field_4;
  20.    // $FF: renamed from: b5 int
  21.    private int field_5;
  22.    // $FF: renamed from: b6 boolean
  23.    private boolean field_6 = false;
  24.    // $FF: renamed from: b7 java.lang.Thread
  25.    private Thread field_7;
  26.    // $FF: renamed from: b8 int
  27.    private int field_8 = 10;
  28.    // $FF: renamed from: b9 int
  29.    private int field_9 = 4;
  30.    private float[] b10 = new float[12];
  31.    private Field b11;
  32.    private float[] b12 = new float[3];
  33.    private Field b13;
  34.    private float[] b14 = new float[4];
  35.    private float b15 = 100.0F;
  36.    private float[] b16 = new float[12];
  37.    private boolean b17 = false;
  38.    private float[] b18 = new float[12];
  39.    private Node b19;
  40.    private float[] b20 = new float[12];
  41.    private float[] b21 = new float[12];
  42.    private float b22 = 1.0F;
  43.    private boolean b23 = false;
  44.    private Node b24;
  45.    private Field b25;
  46.    private float[] b26 = new float[3];
  47.    private Field b27;
  48.    private float[] b28 = new float[3];
  49.    private int b29;
  50.    private int b30;
  51.    private boolean b31 = false;
  52.    private float[] b32 = new float[3];
  53.    private float b33 = 1.0F;
  54.  
  55.    // $FF: renamed from: b0 (float, float, float, float, float[]) void
  56.    private void method_0(float var1, float var2, float var3, float var4, float[] var5) {
  57.       float var6 = (float)Math.sqrt((double)(var1 * var1 + var2 * var2 + var3 * var3));
  58.       if ((double)var6 < 1.0E-8) {
  59.          var5[0] = 1.0F;
  60.          var5[1] = 0.0F;
  61.          var5[2] = 0.0F;
  62.          var5[3] = 0.0F;
  63.          var5[4] = 1.0F;
  64.          var5[5] = 0.0F;
  65.          var5[6] = 0.0F;
  66.          var5[7] = 0.0F;
  67.          var5[8] = 1.0F;
  68.       } else {
  69.          var6 = 1.0F / var6;
  70.          float var7 = var1 * var6;
  71.          float var8 = var2 * var6;
  72.          float var9 = var3 * var6;
  73.          float var10 = (float)Math.sin((double)(-var4));
  74.          float var11 = (float)Math.cos((double)(-var4));
  75.          float var12 = 1.0F - var11;
  76.          float var13 = var7 * var9;
  77.          float var14 = var7 * var8;
  78.          float var15 = var8 * var9;
  79.          var5[0] = var12 * var7 * var7 + var11;
  80.          var5[1] = var12 * var14 - var10 * var9;
  81.          var5[2] = var12 * var13 + var10 * var8;
  82.          var5[3] = var12 * var14 + var10 * var9;
  83.          var5[4] = var12 * var8 * var8 + var11;
  84.          var5[5] = var12 * var15 - var10 * var7;
  85.          var5[6] = var12 * var13 - var10 * var8;
  86.          var5[7] = var12 * var15 + var10 * var7;
  87.          var5[8] = var12 * var9 * var9 + var11;
  88.       }
  89.  
  90.    }
  91.  
  92.    // $FF: renamed from: b0 (float[], float[], float[]) void
  93.    private final void method_1(float[] var1, float[] var2, float[] var3) {
  94.       float var4 = var1[0] * var2[0] + var1[1] * var2[3] + var1[2] * var2[6];
  95.       float var5 = var1[0] * var2[1] + var1[1] * var2[4] + var1[2] * var2[7];
  96.       float var6 = var1[0] * var2[2] + var1[1] * var2[5] + var1[2] * var2[8];
  97.       float var7 = var1[3] * var2[0] + var1[4] * var2[3] + var1[5] * var2[6];
  98.       float var8 = var1[3] * var2[1] + var1[4] * var2[4] + var1[5] * var2[7];
  99.       float var9 = var1[3] * var2[2] + var1[4] * var2[5] + var1[5] * var2[8];
  100.       float var10 = var1[6] * var2[0] + var1[7] * var2[3] + var1[8] * var2[6];
  101.       float var11 = var1[6] * var2[1] + var1[7] * var2[4] + var1[8] * var2[7];
  102.       float var12 = var1[6] * var2[2] + var1[7] * var2[5] + var1[8] * var2[8];
  103.       float var13 = var1[9] * var2[0] + var1[10] * var2[3] + var1[11] * var2[6] + var2[9];
  104.       float var14 = var1[9] * var2[1] + var1[10] * var2[4] + var1[11] * var2[7] + var2[10];
  105.       float var15 = var1[9] * var2[2] + var1[10] * var2[5] + var1[11] * var2[8] + var2[11];
  106.       var3[0] = var4;
  107.       var3[1] = var5;
  108.       var3[2] = var6;
  109.       var3[3] = var7;
  110.       var3[4] = var8;
  111.       var3[5] = var9;
  112.       var3[6] = var10;
  113.       var3[7] = var11;
  114.       var3[8] = var12;
  115.       var3[9] = var13;
  116.       var3[10] = var14;
  117.       var3[11] = var15;
  118.    }
  119.  
  120.    public synchronized boolean connectX3d() {
  121.       System.out.println(method_7("2&&Rj\b](\u001c\tc\u00062S%\u001c`@ &\u001c`o\u00060"));
  122.  
  123.       try {
  124.          Enumeration var1 = ((Applet)this).getAppletContext().getApplets();
  125.          if (var1 != null) {
  126.             while(var1.hasMoreElements()) {
  127.                try {
  128.                   Browser var2 = (Browser)var1.nextElement();
  129.                   if (method_7("\f\u0015\u001aN") != null) {
  130.                      System.out.println(method_7("\u0005#!\t^\u0013-+ NnZ]") + (String)var2.getProperty(method_7("\u0014\u0019\u001f\\e\u0010,")));
  131.                      this.field_1 = var2;
  132.                      return true;
  133.                   }
  134.                } catch (Exception var4) {
  135.                }
  136.             }
  137.          }
  138.       } catch (Exception var5) {
  139.          System.out.println(((Throwable)var5).toString());
  140.          this.field_1 = null;
  141.       }
  142.  
  143.       return false;
  144.    }
  145.  
  146.    public void destroy() {
  147.       this.field_1.removeAWTObserver(this);
  148.       this.field_1.removeBrowserObserver(this);
  149.       this.field_1 = null;
  150.       super.destroy();
  151.    }
  152.  
  153.    // $FF: renamed from: b0 () boolean
  154.    private boolean method_2() {
  155.       if (this.field_1 != null) {
  156.          try {
  157.             this.b19 = this.field_1.getNode(method_7("\u0010\u0003{="));
  158.             this.b11 = this.b19.getField(method_7("2&\u000eWo\r\u001f(\u0016Xj"));
  159.             this.b13 = this.b19.getField(method_7("0#!Jp\n-\""));
  160.             this.b12 = this.b11.getValueFloatArray(0, -1);
  161.             this.b14 = this.b13.getValueFloatArray(0, -1);
  162.          } catch (Exception var1) {
  163.             return false;
  164.          }
  165.  
  166.          System.out.println(method_7("%#!\tj\u0010\"\u0019 \u0017"));
  167.          if (!this.method_3()) {
  168.             return false;
  169.          } else {
  170.             this.field_1.addAWTObserver(this);
  171.             this.field_1.addBrowserObserver(this);
  172.             return true;
  173.          }
  174.       } else {
  175.          return false;
  176.       }
  177.    }
  178.  
  179.    public void init() {
  180.       new String();
  181.       String var1 = ((Applet)this).getParameter(method_7("2)\u001fWo\u0011#\u0019\u0011"));
  182.       if (var1 != null) {
  183.          this.b22 = new Float(((Applet)this).getParameter(method_7("2)\u001fWo\u0011#\u0019\u0011")));
  184.          this.b15 = 1.0F / this.b22 * 1000.0F;
  185.       }
  186.  
  187.       var1 = "";
  188.       var1 = ((Applet)this).getParameter(method_7("8#\u001cVo\u0011#\u0019\u0011"));
  189.       if (var1 != null) {
  190.          this.b33 = new Float(((Applet)this).getParameter(method_7("8#\u001cVo\u0011#\u0019\u0011"))) / 100.0F;
  191.       }
  192.  
  193.       var1 = "";
  194.       var1 = ((Applet)this).getParameter(method_7("+\u001d\u001b-e\u00142\u0015\u001bLa"));
  195.       if (var1 != null) {
  196.          this.field_9 = new Integer(((Applet)this).getParameter(method_7("+\u001d\u001b-e\u00142\u0015\u001bLa")));
  197.       }
  198.  
  199.       var1 = "";
  200.       var1 = ((Applet)this).getParameter(method_7("+\u0015%-e\u00142\u0015\u001bLa"));
  201.       if (var1 != null) {
  202.          this.field_8 = new Integer(((Applet)this).getParameter(method_7("+\u0015%-e\u00142\u0015\u001bLa")));
  203.       }
  204.  
  205.       var1 = "";
  206.       var1 = ((Applet)this).getParameter(method_7("2+\u0016\\p\u000e-\u0018\u0012"));
  207.       if (var1 != null && var1.toLowerCase().equals("on")) {
  208.          this.b23 = true;
  209.       }
  210.  
  211.    }
  212.  
  213.    // $FF: renamed from: b1 () boolean
  214.    private boolean method_3() {
  215.       try {
  216.          this.b24 = (Node)this.field_1.getProperty(method_7("\u007f#\"W`v'\u0019$Yk\n,("));
  217.          this.b25 = this.b24.getField(method_7(".# Rp\n-\""));
  218.          this.b27 = this.b24.getField(method_7("-&\u0016Nj\u0015\u001f(\u0016Xj"));
  219.          this.b26 = this.b25.getValueFloatArray(0, -1);
  220.  
  221.          for(int var1 = 0; var1 < 3; ++var1) {
  222.             this.field_0[var1] = this.b12[var1] - this.b26[var1];
  223.          }
  224.  
  225.          this.b28 = this.b27.getValueFloatArray(0, -1);
  226.          this.method_0(this.b28[0], this.b28[1], this.b28[2], -this.b28[3], this.field_2);
  227.          this.method_5(this.field_2, this.field_3);
  228.          return true;
  229.       } catch (Exception var2) {
  230.          return false;
  231.       }
  232.    }
  233.  
  234.    public boolean onEvent(int var1, Object var2, Object var3) {
  235.       switch (var1) {
  236.          case 5:
  237.             this.field_6 = false;
  238.             this.field_1 = null;
  239.          case 6:
  240.          default:
  241.             break;
  242.          case 7:
  243.             if (this.b17) {
  244.                this.method_6();
  245.             }
  246.       }
  247.  
  248.       return false;
  249.    }
  250.  
  251.    public boolean onEvent(Event var1) {
  252.       switch (var1.id) {
  253.          case 403:
  254.             this.b17 = true;
  255.             switch (var1.key) {
  256.                case 1004:
  257.                   this.field_5 = -5;
  258.                   break;
  259.                case 1005:
  260.                   this.field_5 = 5;
  261.                   break;
  262.                case 1006:
  263.                   this.field_4 = 5;
  264.                   break;
  265.                case 1007:
  266.                   this.field_4 = -5;
  267.             }
  268.  
  269.             this.method_6();
  270.             break;
  271.          case 404:
  272.             this.b17 = false;
  273.             this.field_4 = 0;
  274.             this.field_5 = 0;
  275.             break;
  276.          case 501:
  277.             this.b17 = true;
  278.             this.b29 = var1.x;
  279.             this.b30 = var1.y;
  280.             break;
  281.          case 502:
  282.             this.field_4 = 0;
  283.             this.field_5 = 0;
  284.             this.b17 = false;
  285.             break;
  286.          case 506:
  287.             this.field_4 += this.b29 - var1.x;
  288.             this.field_5 += var1.y - this.b30;
  289.             this.b29 = var1.x;
  290.             this.b30 = var1.y;
  291.             this.method_6();
  292.       }
  293.  
  294.       this.b31 = var1.controlDown();
  295.       return false;
  296.    }
  297.  
  298.    // $FF: renamed from: b0 (int, int, float[]) void
  299.    private void method_4(int var1, int var2, float[] var3) {
  300.       float[] var4 = new float[12];
  301.       float var5 = (float)Math.sqrt((double)(var1 * var1 + var2 * var2));
  302.       float var6 = (float)Math.sqrt((double)(this.b15 * this.b15 + var5 * var5));
  303.       float var7 = this.b15 / var6;
  304.       float var8 = var5 / var6;
  305.       var3[0] = var7 + (float)var2 / var5 * ((float)var2 / var5) * (1.0F - var7);
  306.       var3[1] = -1.0F * ((float)var1 / var5) * ((float)var2 / var5) * (1.0F - var7);
  307.       var3[2] = (float)var1 / var5 * var8;
  308.       var3[3] = -1.0F * ((float)var1 / var5) * ((float)var2 / var5) * (1.0F - var7);
  309.       var3[4] = var7 + (float)var1 / var5 * ((float)var1 / var5) * (1.0F - var7);
  310.       var3[5] = (float)var2 / var5 * var8;
  311.       var3[6] = -1.0F * ((float)var1 / var5) * var8;
  312.       var3[7] = -1.0F * ((float)var2 / var5) * var8;
  313.       var3[8] = var7;
  314.    }
  315.  
  316.    public void run() {
  317.       while(this.field_7 != null) {
  318.          if (this.field_1 == null) {
  319.             this.connectX3d();
  320.          }
  321.  
  322.          try {
  323.             Thread.sleep(30L);
  324.          } catch (InterruptedException var2) {
  325.             System.out.println(((Throwable)var2).toString());
  326.             this.stop();
  327.          }
  328.  
  329.          if (!this.field_6 && this.field_1 != null) {
  330.             this.field_6 = this.method_2();
  331.          }
  332.  
  333.          if (this.b17) {
  334.             this.method_6();
  335.          }
  336.       }
  337.  
  338.    }
  339.  
  340.    public void start() {
  341.       if (this.field_7 == null) {
  342.          this.field_7 = new Thread(this);
  343.          this.field_7.setPriority(10);
  344.          this.field_7.start();
  345.       }
  346.  
  347.    }
  348.  
  349.    public void stop() {
  350.       if (this.field_7 != null) {
  351.          this.field_7.stop();
  352.          this.field_7 = null;
  353.          this.field_6 = false;
  354.       }
  355.  
  356.    }
  357.  
  358.    // $FF: renamed from: b0 (float[], float[]) void
  359.    private final void method_5(float[] var1, float[] var2) {
  360.       float var3 = var1[0];
  361.       float var4 = var1[1];
  362.       float var5 = var1[2];
  363.       float var6 = var1[3];
  364.       float var7 = var1[4];
  365.       float var8 = var1[5];
  366.       float var9 = var1[6];
  367.       float var10 = var1[7];
  368.       float var11 = var1[8];
  369.       float var12 = var1[9];
  370.       float var13 = var1[10];
  371.       float var14 = var1[11];
  372.       var2[0] = var3;
  373.       var2[1] = var6;
  374.       var2[2] = var9;
  375.       var2[3] = var4;
  376.       var2[4] = var7;
  377.       var2[5] = var10;
  378.       var2[6] = var5;
  379.       var2[7] = var8;
  380.       var2[8] = var11;
  381.       var2[9] = -var12;
  382.       var2[10] = -var13;
  383.       var2[11] = -var14;
  384.    }
  385.  
  386.    // $FF: renamed from: b2 () void
  387.    private void method_6() {
  388.       float var1 = 0.0F;
  389.       if (!this.b24.getName().equals(((Node)this.field_1.getProperty(method_7("\u007f#\"W`v'\u0019$Yk\n,("))).getName())) {
  390.          this.method_3();
  391.       }
  392.  
  393.       if (this.field_4 != 0 || this.field_5 != 0) {
  394.          if (this.b31 || this.b23) {
  395.             float var2 = (float)this.field_5 * this.b33;
  396.             this.b32[0] = this.b26[0] - this.field_0[0] * var2;
  397.             this.b32[1] = this.b26[1] - this.field_0[1] * var2;
  398.             this.b32[2] = this.b26[2] - this.field_0[2] * var2;
  399.             var1 = (float)Math.sqrt((double)((this.b12[0] - this.b32[0]) * (this.b12[0] - this.b32[0]) + (this.b12[1] - this.b32[1]) * (this.b12[1] - this.b32[1]) + (this.b12[2] - this.b32[2]) * (this.b12[2] - this.b32[2])));
  400.             if (var1 > (float)this.field_9 && var1 < (float)this.field_8) {
  401.                this.b25.setValueFloatArray(0, -1, this.b32);
  402.             }
  403.  
  404.             this.field_5 = 0;
  405.          }
  406.  
  407.          if (this.field_4 != 0 || this.field_5 != 0) {
  408.             this.b14 = this.b13.getValueFloatArray(0, -1);
  409.             this.method_0(this.b14[0], this.b14[1], this.b14[2], this.b14[3], this.b10);
  410.             this.method_4(this.field_4, this.field_5, this.b18);
  411.             this.method_1(this.b10, this.field_2, this.b21);
  412.             this.method_1(this.b21, this.b18, this.b20);
  413.             this.method_1(this.b20, this.field_3, this.b16);
  414.             float var5 = (float)Math.acos((double)(this.b16[0] + this.b16[4] + this.b16[8] - 1.0F) / (double)2.0F);
  415.             float var3 = 2.0F * (float)Math.sin((double)var5);
  416.             if (var3 != 0.0F) {
  417.                this.b14[0] = (this.b16[5] - this.b16[7]) / var3;
  418.                this.b14[1] = (this.b16[6] - this.b16[2]) / var3;
  419.                this.b14[2] = (this.b16[1] - this.b16[3]) / var3;
  420.                this.b14[3] = var5;
  421.                this.b13.setValueFloatArray(0, -1, this.b14);
  422.             }
  423.  
  424.          }
  425.       }
  426.    }
  427.  
  428.    // $FF: renamed from: b0 (java.lang.String) java.lang.String
  429.    private static String method_7(String var0) {
  430.       char[] var1 = var0.toCharArray();
  431.       char[] var2 = "=3,h{ ".toCharArray();
  432.       int var3 = var1.length;
  433.       int var4 = var2.length;
  434.  
  435.       for(int var5 = 0; var5 < var3; ++var5) {
  436.          int var6 = var5 % var4;
  437.          int var7 = var1[var5] - var2[var6];
  438.          if (var7 <= 0) {
  439.             var7 += 127;
  440.          }
  441.  
  442.          var1[var5] = (char)var7;
  443.       }
  444.  
  445.       return new String(var1);
  446.    }
  447. }
  448.